iT邦幫忙

2023 iThome 鐵人賽

DAY 9
1
SideProject30

一起成為新世紀文字藝術師:深入玩轉 Unicode 和 OpenType系列 第 9

DAY 09|OpenType Feature (2):連字系列

  • 分享至 

  • xImage
  •  

連字是一種多對一的字符轉換關係,通常也是最常被使用者注意到的特性之一。

昨天所介紹的,在使用活字的年代裡,任兩個字符並列時,如果兩者之間的間距太過「ㄌㄤ」,會進行 kerning 的處理,讓字符本身超出活字的大小。

不過,即使已經調整過 kerning,有些字符對並列的時候,還是會有股不協調的感覺,設計師就會另外設計新的字模來取代這兩個活字——連字。

標準連字(Standard Ligatures, liga)

以拉丁字母來說,最常見的就是襯線字體的 f 在遇到另一個 f、或是遇到 i 時,即使把兩邊的留白都調為負數,仍然會看起來怪怪的,上面的垂頭會有沾黏的感覺,此時就會需要額外製作 f_f 或是 f_i 字符。

此時,渲染引擎會調用 OpenType 裡的 liga feature,讓 fi 的字符「替換」成「f_i」。這個轉換只會改變「選染出來的字符外觀」,在記憶體裡面還是儲存著 fi,因此,在搜尋與比對的時候,依舊可以找到 fi

總而言之,liga 只會改變渲染的結果,並不會改變文本的內容。

為了使排版更美觀,歐文字型幾乎都會製作 liga 的字符,而在大多數的文書軟體與瀏覽器中,標準連字預設都是開啟的。但如果想要手動調用的話,還是可以透過以下 css 啟用:

.class {
    font-variant-ligatures: common-ligatures;
    -moz-font-feature-settings: "liga", "clig";
    -webkit-font-feature-settings: "liga", "clig";
    font-feature-settings: "liga", "clig";
}

那麼中文呢?和歐文不同的是,漢字的可組合性在民間創造了諸如「招財進寶」、「孔孟好學」、「日進斗金」等「合文」——其實也能算是一種連字,只是有時候我們更常把他們當成是一個符號來看,畢竟我們還是習慣看到「招財進寶」四個字,但如果你想讓這些字以連字的方式實現,可以嘗試將他們設定成 dlig,也就是接下來要介紹的可選連字。

可選連字(Discretionary Ligatures, dlig)

選擇性連字是指那些非必要的、額外用來增加裝飾感、或是讓使用者自行決定是否使用的連字。

較著名的 dligc_kc_ts_t 等字符對。這些字符對的歷史其實已經相當悠久,當時的設計師想要刻意模仿沾水筆的書寫,而將兩個字符加上連筆。不過,如果不熟悉傳統歐文書法的人可能會「誤判」這些連字,在某種程度上造成閱讀的困難,因此他們通常都是「可選」的,要使用的話必須要考慮目標受眾。

此外,如果你有設計上的特別需求,也可以設計自己的 dlig,像是上面提到的「招財進寶」合文等。而大多數的瀏覽器和文書軟體都將 dlig 預設為關閉,需要使用的話必須額外開啟:

.class {
  font-variant-ligatures: discretionary-ligatures;
  -moz-font-feature-settings: "dlig";
  -webkit-font-feature-settings: "dlig";
  font-feature-settings: "dlig";
}

歷史連字(Historical Ligatures, hlig )

歷史性連字主要是用來紀錄古籍或經典裡面的連字字符。如果想讓設計的字型更有復古的感覺,可以嘗試設計 hlig

舉例來說,s 這個拉丁字母在八世紀盛行於歐洲的卡洛林小草書體裡(Carolingian minuscule),其實也可以長成ſ 的,因為他的筆畫看起來很長,所以又稱 long s(與之對比,現代的稱作 short s),通常用在詞首以及詞中,不置於結尾。

雖然後來的拉丁文字已經不再使用 ſ ,僅留下 s 的形式,但 ſz 的草寫在日耳曼地區演變成 ß (Eszett) ,成為現今的德國使用的標準德文字母之一(不過在瑞士與列支敦士登,瑞士標準德文並不使用 ß,而是直接拼成 ss)。

dlig 一樣,大多數的瀏覽器和軟體都預設 hlig 為關閉,需要的話得額外啟用才行:

.class {
    font-variant-ligatures: historical-ligatures;  
    -moz-font-feature-settings: 'hlig';
    -webkit-font-feature-settings: 'hlig';
    font-feature-settings: 'hlig' on;
}

上一篇
DAY 08|OpenType Feature (1):Kerning
下一篇
DAY 10|OpenType Feature (3):字母系列
系列文
一起成為新世紀文字藝術師:深入玩轉 Unicode 和 OpenType30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言